import java.util.*;
public class Test {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int n = 0;
        if (sc.hasNext())
        n = Integer.parseInt(sc.next());//木桩数
        int m = Integer.parseInt(sc.next());//连续 m 个才能搬过去
        int h = Integer.parseInt(sc.next());//最低越过高度
        //高度数组
        int[] height = new int[n];
        for (int i = 0; i < n; i++) {
            height[i] = Integer.parseInt(sc.next());
        }
        //原题意 ==> 一个范围内(m)的木桩高度都不超过 h ==>  求第一个木桩高度
        // ==> 暴力 / 滑动窗口

        int left = 0;
        int right = 0;
        boolean isOK = false;
        while (left != height.length && right != height.length){
            //当前高度符合要求
            if (height[right] <= h){
                ++right;
                //如果范围符合要求 答案 get
                if (right - left == m){
                    //答案就有了 ==> 第一个木桩编号
                    System.out.println(left + 1);
                    isOK = true;
                }
            }else {
                //当前高度不符合要求 从当前高度下一个点考虑
                left = ++right;
                right = left;
            }
        }

        if (!isOK)
        System.out.println(-1);
    }

}
